package com.luckcoder.relax.games.domain.vo;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.luckcoder.relax.games.domain.RelaxGameConfig;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;

import java.io.Serial;
import java.io.Serializable;


/**
 * 小游戏配置视图对象 relax_game_config
 *
 * @author zhanghao
 * @date 2025-09-10
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = RelaxGameConfig.class)
public class RelaxGameConfigVo implements Serializable {
    
    @Serial
    private static final long serialVersionUID = 1L;
    
    /**
     * 游戏ID
     */
    @ExcelProperty(value = "游戏ID")
    private Long gameId;
    
    /**
     * 游戏编码（唯一标识）
     */
    @ExcelProperty(value = "游戏编码", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "唯=一标识")
    private String gameCode;
    
    /**
     * 游戏名称
     */
    @ExcelProperty(value = "游戏名称")
    private String gameName;
    
    /**
     * 游戏描述
     */
    @ExcelProperty(value = "游戏描述")
    private String gameDesc;
    
    /**
     * 游戏图标
     */
    @ExcelProperty(value = "游戏图标")
    private String gameIcon;
    
    /**
     * 游戏路径
     */
    @ExcelProperty(value = "游戏路径")
    private String gamePath;
    
    /**
     * 游戏分类（casual休闲、puzzle益智、action动作）
     */
    @ExcelProperty(value = "游戏分类", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "c=asual休闲、puzzle益智、action动作")
    private String gameCategory;
    
    /**
     * 显示顺序
     */
    @ExcelProperty(value = "显示顺序")
    private Long sortOrder;
    
    /**
     * 状态（0正常 1停用）
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=正常,1=停用")
    private String status;
    
    /**
     * 是否启用（0禁用 1启用）
     */
    @ExcelProperty(value = "是否启用", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=禁用,1=启用")
    private String isEnabled;
    
    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;
    
    
}
